package com.zh.seckill.util;

import org.apache.commons.codec.digest.DigestUtils;

public class MD5Util {
    public static String md5(String src) {
        return DigestUtils.md5Hex(src);
    }
    //shift+ctrl+u 大写
    private static final String SALT = "4tIY5VcX";

    //加密加盐, 完成的是 md5（pass+salt1）
    public static String inputPassToMidPass(String inputPass) {
        System.out.println("SALT.charAt(0)->" + SALT.charAt(0));
        System.out.println("SALT.charAt(6)->" + SALT.charAt(6));
        String str =SALT.charAt(0) + inputPass + SALT.charAt(6);
        return md5(str);
    }

    // 完成的是 md5（ md5（pass+salt1）+salt2）
    public static String midPassToDBPass(String midPass, String salt) {
        System.out.println("salt.charAt(1)->" + salt.charAt(1));
        System.out.println("salt.charAt(5)->" + salt.charAt(5));
        String str = salt.charAt(1) + midPass + salt.charAt(5);
        return md5(str);
    }
    /**
     * 进行两次加密加盐 最后存到数据库的 md5（ md5（pass+salt1）+salt2）
     * salt1 是前端进行的
     * salt2 是后端进行的随机生成
     */
    public static String inputPassToDBPass(String inputPass, String salt) {
        String midPass = inputPassToMidPass(inputPass);
        return midPassToDBPass(midPass, salt);
    }

}
